using System;

namespace CosyTrade.Network
{
    [Serializable]
    public class Request
    {
        private readonly string addinKey;
        private readonly string methodName;
        private readonly Type[] argsTypes;
        private readonly object[] args;
        
        public Request(string addinKey, string methodName, Type[] argsTypes, object[] args)
        {
            this.addinKey = addinKey;
            this.methodName = methodName;
            this.argsTypes = argsTypes;
            this.args = args;
        }

        public string AddinKey
        {
            get { return addinKey; }
        }

        public string MethodName
        {
            get { return methodName; }
        }
        
        public Type[] ArgsTypes
        {
            get { return argsTypes; }
        }

        public object[] Args
        {
            get { return args; }
        }
    }
}